fix call set_group_users_info after group user removed

Brightcells 9 anni fa
parent
commit
e4567ea2de
3 ha cambiato i file con 8 aggiunte e 6 eliminazioni
  1. 1 1
      group/models.py
  2. 1 1
      group/views.py
  3. 6 4
      utils/redis/retrieve.py

+ 1 - 1
group/models.py

@@ -58,7 +58,7 @@ class GroupInfo(CreateUpdateMixin):
58 58
         }
59 59
 
60 60
     def users(self, admin=True, user_id=None):
61
-        all_users = GroupUserInfo.objects.filter(group_id=self.group_id)
61
+        all_users = GroupUserInfo.objects.filter(group_id=self.group_id, user_status__in=[GroupUserInfo.APPLYING, GroupUserInfo.PASSED])
62 62
 
63 63
         passed_users = all_users.filter(user_status=GroupUserInfo.PASSED)
64 64
         passed_count = passed_users.count()

+ 1 - 1
group/views.py

@@ -357,7 +357,7 @@ def group_remove_api(request):
357 357
     group_user.save()
358 358
 
359 359
     # Redis 群组数据缓存更新
360
-    group_users = set_group_info(group)
360
+    group_users = set_group_users_info(group)
361 361
 
362 362
     # Redis 群组删除集合缓存
363 363
     r.srem(GROUP_USERS_PASSED_SET % group_id, user_id)

+ 6 - 4
utils/redis/retrieve.py

@@ -5,7 +5,8 @@ import json
5 5
 from django.conf import settings
6 6
 
7 7
 from group.models import GroupInfo, GroupPhotoInfo, GroupUserInfo
8
-from utils.redis.rkeys import (GROUP_LAST_PHOTO_PK, GROUP_PHOTO_DATA, GROUP_USERS_APPLYING_SET, GROUP_USERS_DELETED_SET,
8
+from utils.redis.rgroup import set_group_photo_data, set_group_users_info
9
+from utils.redis.rkeys import (GROUP_LAST_PHOTO_PK, GROUP_USERS_APPLYING_SET, GROUP_USERS_DELETED_SET,
9 10
                                GROUP_USERS_PASSED_SET, GROUP_USERS_REFUSED_SET)
10 11
 
11 12
 
@@ -16,9 +17,10 @@ def retrieve_group_data():
16 17
     """ 群组数据 """
17 18
     groups = GroupInfo.objects.filter(status=True)
18 19
     for group in groups:
19
-        group_photos = GroupPhotoInfo.objects.filter(group_id=group.group_id, status=True)
20
-        group_photos = [photo.photo_data for photo in group_photos]
21
-        r.set(GROUP_PHOTO_DATA % group.group_id, json.dumps(group_photos))
20
+        # 群组照片
21
+        set_group_photo_data(group.group_id)
22
+        # 群组用户
23
+        set_group_users_info(group)
22 24
 
23 25
 
24 26
 def retrieve_last_pk():